package com.ctshk.rpc.starvip.dto.start_vip.member;

import com.ctshk.rpc.starvip.dto.start_vip.user.ListOfLoyMembershipCard;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import java.io.Serializable;

/**
 * @BelongsProject: ctshk-cloud
 * @BelongsPackage: com.ctshk.rpc.starvip.dto.start_vip.member
 * @Author: hef
 * @CreateTime: 2021-04-12 17:23
 * @Description: 描述
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@XmlRootElement(name = "Member")
public class Member implements Serializable {
    /**
     * 集团会员编号
     */
    @XmlElement(name = "Id")
    private String id;
    /**
     * <pre>
     *
     * </pre>
     */
    @XmlElement(name = "CTSMemberId")
    private String ctsMemberId;

    /**
     * <pre>
     *
     * </pre>
     */
    @XmlElement(name = "CTSPassword")
    private String ctsPassword;

    /**
     * <pre>
     *
     * </pre>
     */
    @XmlElement(name = "ContactEmailAddress")
    private String contactEmailAddress;

    /**
     * <pre>
     *
     * </pre>
     */
    @XmlElement(name = "CTSContactIdNum")
    private String ctsContactIdNum;

    /**
     * <pre>
     *
     * </pre>
     */
    @XmlElement(name = "CTSContactIdType")
    private String ctsContactIdType;

    /**
     * <pre>
     *
     * </pre>
     */
    @XmlElement(name = "CTSContactMobilePhone")
    private String ctsContactMobilePhone;

    /**
     * <pre>
     *
     * </pre>
     */
    @XmlElement(name = "CTSLogin")
    private String ctsLogin;

    /**
     * <pre>
     * ListOfLoyMembershipCard
     * </pre>
     */
    @XmlElement(name = "ListOfLoyMembershipCard")
    private ListOfLoyMembershipCard listOfLoyMembershipCard;
    /**
     * 重置密码时查询方式（EMAIL/MOBILE/MEMBERID）
     */
    @XmlElement(name = "Type")
    private String type;
    /**
     * 重置密码的手机、邮箱或会员编码
     */
    @XmlElement(name = "Value")
    private String value;
    /**
     * 会员类型
     */
    @XmlElement(name = "MemberType")
    private String memberType;



    public Member(String type, String value, String memberType) {
        this.type = type;
        this.value = value;
        this.memberType = memberType;
    }

    public Member(String ctsMemberId, String ctsPassword, String contactEmailAddress, String ctsContactIdNum, String ctsContactIdType, String ctsContactMobilePhone,
                  String ctsLogin, ListOfLoyMembershipCard listOfLoyMembershipCard) {
        this.ctsMemberId = ctsMemberId;
        this.ctsPassword = ctsPassword;
        this.contactEmailAddress = contactEmailAddress;
        this.ctsContactIdNum = ctsContactIdNum;
        this.ctsContactIdType = ctsContactIdType;
        this.ctsContactMobilePhone = ctsContactMobilePhone;
        this.ctsLogin = ctsLogin;
        this.listOfLoyMembershipCard = listOfLoyMembershipCard;
    }

    @XmlTransient
    public String getId() {
        return id;
    }

    @XmlTransient
    public String getType() {
        return type;
    }

    @XmlTransient
    public String getValue() {
        return value;
    }

    @XmlTransient
    public String getMemberType() {
        return memberType;
    }

    @XmlTransient
    public String getCtsMemberId() {
        return ctsMemberId;
    }

    @XmlTransient
    public String getCtsPassword() {
        return ctsPassword;
    }

    @XmlTransient
    public String getContactEmailAddress() {
        return contactEmailAddress;
    }

    @XmlTransient
    public String getCtsContactIdNum() {
        return ctsContactIdNum;
    }

    @XmlTransient
    public String getCtsContactIdType() {
        return ctsContactIdType;
    }

    @XmlTransient
    public String getCtsContactMobilePhone() {
        return ctsContactMobilePhone;
    }

    @XmlTransient
    public String getCtsLogin() {
        return ctsLogin;
    }

    @XmlTransient
    public ListOfLoyMembershipCard getListOfLoyMembershipCard() {
        return listOfLoyMembershipCard;
    }
}
